package com.example.petinfo.domain.po;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 宠物信息实体（与pet_info表字段一一映射）
 */
@Data
@TableName("pet_info")
public class PetInfo {

    /**
     * 宠物ID（主键，SQL自动递增）
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 主人用户ID（注册时默认补充，无需手动填写）
     */
    private Long ownerUserId;

    /**
     * 外借情况：0-不外借、1-已申请外借、2-已选择代养、3-运输中、4-在代养人手里、5-主人申请返回、6-代养人申请返回、7-返回中
     */
    private Integer lendStatus;

    /**
     * 待选择代养人集合（存储代养人ID，逗号分隔）
     */
    private String toBeSelectedFosterIds;

    /**
     * 负责人用户ID（主人或代养人ID）
     */
    private Long responsibleUserId;

    /**
     * 主人原地理位置（宠物档案库字段）
     */
    private String ownerOriginalAddress;

    /**
     * 宠物分类：犬类、猫类、其他动物
     */
    private String petCategory;

    /**
     * 宠物品种（具体命名，如"金毛寻回犬"）
     */
    private String petBreed;

    /**
     * 健康状况（可填）
     */
    private String healthStatus;

    /**
     * 年龄（可填）
     */
    private String age;

    /**
     * 性格特点（可填）
     */
    private String personality;

    /**
     * 宠物图片/视频URL（可填，多个逗号分隔）
     */
    private String mediaUrls;

    /**
     * 创建时间（自动填充）
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间（自动填充，更新时触发）
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
